package br.com.dojo.entity;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.Table;


@Entity
@Table(name="carro")
public class Carro implements Serializable {

	private static final long serialVersionUID = 1L;
	
	@Id
	private String placa;
		
	@ManyToOne
	@JoinColumn(name="Categoria_codigo", referencedColumnName="codigo")
	private Categoria categoria;
		
	private Integer ano;
		
	private String marca;
	
	private Float quilometragem;
		
	private Boolean patrimonio;
		
	@ManyToMany
	@JoinTable ( name ="LocacaoCarro",
		joinColumns = @JoinColumn ( name ="Carro_placa") ,
		inverseJoinColumns = @JoinColumn ( name ="Locacao_idLocacao") )
	private List<Locacao> locacaos;

	
	public String getPlaca() {
		return this.placa;
	}

	public void setPlaca(String placa) {
		this.placa = placa;
	}

	public Categoria getCategoria() {
		return this.categoria;
	}

	public void setCategoria(Categoria categoria) {
		this.categoria = categoria;
	}

	public Integer getAno() {
		return this.ano;
	}

	public void setAno(Integer ano) {
		this.ano = ano;
	}

	public String getMarca() {
		return this.marca;
	}

	public void setMarca(String marca) {
		this.marca = marca;
	}

	public Boolean getPatrimonio() {
		return this.patrimonio;
	}

	public void setPatrimonio(Boolean patrimonio) {
		this.patrimonio = patrimonio;
	}

	public List<Locacao> getLocacaos() {
		return this.locacaos;
	}

	public void setLocacaos(List<Locacao> locacaos) {
		this.locacaos = locacaos;
	}

	public Float getQuilometragem() {
		return quilometragem;
	}

	public void setQuilometragem(Float quilometragem) {
		this.quilometragem = quilometragem;
	}

}
